﻿using DAL;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Diagnostics;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace MainOP
{
    public partial class FormParameterSetting : Form
    {
        public int row;     //用于读取与记录行数
        public FormParameterSetting()
        {
            InitializeComponent();
        }
        List<string> sr = new List<string>();
        private void FormParameterSetting_Load(object sender, EventArgs e)
        {
            string sql = "select typeName from parameterSetting";
            SqlDataReader objReader = SQLHelp.GetReader(sql);
            while (objReader.Read())
            {
                //if (objReader["typeName"].ToString() != "")
                //{
                    comboBox1.Items.Add(objReader["typeName"].ToString());
                comboBox3.Items.Add(objReader["typeName"].ToString());
                //}
                sr.Add(objReader["typeName"].ToString());
            }
            objReader.Close();
             sql = "select 产品系列总 from productXiLie";
             objReader = SQLHelp.GetReader(sql);
            while (objReader.Read())
            {
                //if (objReader["产品系列总"].ToString() != "")
                //{
                    comboBox2.Items.Add(objReader["产品系列总"].ToString());
                //}
                //sr.Add(objReader["typeName"].ToString());
            }
            objReader.Close();
            List<string> FileNames = new List<string>();
            GetFileNames(ref FileNames);
            comboBox4.DataSource = FileNames;
            comboBox4.SelectedItem = comboBox4.Items[0];
        }
        //添加型号
        private void button1_Click(object sender, EventArgs e)
        {
            //权限验证
            PermissionCheck.PernChk(Program.userlogin);
            if (Program.userlogin.UserID == 2 || Program.userlogin.UserID == 1)
            {
                //判断参数是否为空

                //判断型号是否重复
                if (sr.Contains(textBox1.Text) == false)
                {
                    //数据写入
                    //string sql = "insert into parameterSetting([saveDate], [typeName], [产品系列号], [OP10螺钉数1], [OP10螺钉数2], [OP10节拍], [OP20螺钉数1], [OP20螺钉数2], [OP20节拍], [OP30节拍], [OP40螺钉数1], [OP40螺钉数2], [OP40节拍], [OP50螺钉数1], [OP50螺钉数2], [OP50节拍], [OP60螺钉数1], [OP60螺钉数2], [OP60节拍], [OP70螺钉数1], [OP70螺钉数2], [OP70节拍], [OP80螺钉数1], [OP80螺钉数2], [OP80节拍], [OP90节拍], [OP110节拍], [OP130节拍],[零件号],[版本号],[AI代码号],[产线班次号],[OP10扫码1名称], [OP10扫码1], [OP10扫码2名称], [OP10扫码2], [OP10扫码3名称], [OP10扫码3], [OP10扫码4名称], [OP10扫码4], [OP20扫码1名称], [OP20扫码1], [OP20扫码2名称], [OP20扫码2], [OP20扫码3名称], [OP20扫码3], [OP20扫码4名称], [OP20扫码4], [OP30扫码1名称], [OP30扫码1], [OP30扫码2名称], [OP30扫码2], [OP30扫码3名称], [OP30扫码3], [OP30扫码4名称], [OP30扫码4], [OP40扫码1名称], [OP40扫码1], [OP40扫码2名称], [OP40扫码2], [OP40扫码3名称], [OP40扫码3], [OP40扫码4名称], [OP40扫码4], [OP50扫码1名称], [OP50扫码1], [OP50扫码2名称], [OP50扫码2], [OP50扫码3名称], [OP50扫码3], [OP50扫码4名称], [OP50扫码4], [OP60扫码1名称], [OP60扫码1], [OP60扫码2名称], [OP60扫码2], [OP60扫码3名称], [OP60扫码3], [OP60扫码4名称], [OP60扫码4], [OP409V开电压], [OP409V关电压],[打印模板名称],[OP70扫码1名称], [OP70扫码1],[OP80扫码1名称], [OP80扫码1]) values('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}','{12}','{13}','{14}','{15}','{16}','{17}','{18}','{19}','{20}','{21}','{22}','{23}','{24}','{25}','{26}','{27}','{28}','{29}','{30}','{31}','{32}','{33}','{34}','{35}','{36}','{37}','{38}','{39}','{40}','{41}','{42}','{43}','{44}','{45}','{46}','{47}','{48}','{49}','{50}','{51}','{52}','{53}','{54}','{55}','{56}','{57}','{58}','{59}','{60}','{61}','{62}','{63}','{64}','{65}','{66}','{67}','{68}','{69}','{70}','{71}','{72}','{73}','{74}','{75}','{76}','{77}','{78}','{79}','{80}','{81}','{82}','{83}','{84}','{85}','{86}')";
                    //string sql = "insert into parameterSetting([saveDate], [typeName], [产品系列号], [OP10螺钉数1], [OP10螺钉数2], [OP10节拍], [OP20螺钉数1], [OP20螺钉数2], [OP20节拍], [OP30螺钉数1], [OP30螺钉数2], [OP30节拍], [OP40螺钉数1], [OP40螺钉数2], [OP40节拍], [OP50螺钉数1], [OP50螺钉数2], [OP50节拍], [OP60螺钉数1], [OP60螺钉数2], [OP60节拍], [OP70螺钉数1], [OP70螺钉数2], [OP70节拍], [OP80螺钉数1], [OP80螺钉数2], [OP80节拍], [OP90节拍], [OP110节拍], [OP130节拍],[零件号],[版本号],[AI代码号],[产线班次号],[OP10扫码1名称], [OP10扫码1], [OP10扫码2名称], [OP10扫码2], [OP10扫码3名称], [OP10扫码3], [OP10扫码4名称], [OP10扫码4], [OP20扫码1名称], [OP20扫码1], [OP20扫码2名称], [OP20扫码2], [OP20扫码3名称], [OP20扫码3], [OP20扫码4名称], [OP20扫码4], [OP30扫码1名称], [OP30扫码1], [OP30扫码2名称], [OP30扫码2], [OP30扫码3名称], [OP30扫码3], [OP30扫码4名称], [OP30扫码4], [OP40扫码1名称], [OP40扫码1], [OP40扫码2名称], [OP40扫码2], [OP40扫码3名称], [OP40扫码3], [OP40扫码4名称], [OP40扫码4], [OP50扫码1名称], [OP50扫码1], [OP50扫码2名称], [OP50扫码2], [OP50扫码3名称], [OP50扫码3], [OP50扫码4名称], [OP50扫码4], [OP60扫码1名称], [OP60扫码1], [OP60扫码2名称], [OP60扫码2], [OP60扫码3名称], [OP60扫码3], [OP60扫码4名称], [OP60扫码4], [OP409V开电压], [OP409V关电压],[打印模板名称],[OP70扫码1名称], [OP70扫码1],[OP80扫码1名称], [OP80扫码1]) values('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}','{12}','{13}','{14}','{15}','{16}','{17}','{18}','{19}','{20}','{21}','{22}','{23}','{24}','{25}','{26}','{27}','{28}','{29}','{30}','{31}','{32}','{33}','{34}','{35}','{36}','{37}','{38}','{39}','{40}','{41}','{42}','{43}','{44}','{45}','{46}','{47}','{48}','{49}','{50}','{51}','{52}','{53}','{54}','{55}','{56}','{57}','{58}','{59}','{60}','{61}','{62}','{63}','{64}','{65}','{66}','{67}','{68}','{69}','{70}','{71}','{72}','{73}','{74}','{75}','{76}','{77}','{78}','{79}','{80}','{81}','{82}','{83}','{84}','{85}','{86}','{87}','{88}')";
                    string sql = "INSERT INTO parameterSetting([saveDate], [typeName], [产品系列号], [OP10螺钉数1], [OP10螺钉数2], [OP10节拍], [OP20螺钉数1], [OP20螺钉数2], [OP20节拍], [OP30螺钉数1], [OP30螺钉数2], [OP30节拍], [OP40螺钉数1], [OP40螺钉数2], [OP40节拍], [OP50螺钉数1], [OP50螺钉数2], [OP50节拍], [OP60螺钉数1], [OP60螺钉数2], [OP60节拍], [OP70螺钉数1], [OP70螺钉数2], [OP70节拍], [OP80螺钉数1], [OP80螺钉数2], [OP80节拍], [OP90节拍], [OP110节拍], [OP130节拍],[零件号],[版本号],[AI代码号],[产线班次号],[OP10扫码1名称], [OP10扫码1], [OP10扫码2名称], [OP10扫码2], [OP10扫码3名称], [OP10扫码3], [OP10扫码4名称], [OP10扫码4], [OP20扫码1名称], [OP20扫码1], [OP20扫码2名称], [OP20扫码2], [OP20扫码3名称], [OP20扫码3], [OP20扫码4名称], [OP20扫码4], [OP30扫码1名称], [OP30扫码1], [OP30扫码2名称], [OP30扫码2], [OP30扫码3名称], [OP30扫码3], [OP30扫码4名称], [OP30扫码4], [OP40扫码1名称], [OP40扫码1], [OP40扫码2名称], [OP40扫码2], [OP40扫码3名称], [OP40扫码3], [OP40扫码4名称], [OP40扫码4], [OP50扫码1名称], [OP50扫码1], [OP50扫码2名称], [OP50扫码2], [OP50扫码3名称], [OP50扫码3], [OP50扫码4名称], [OP50扫码4], [OP60扫码1名称], [OP60扫码1], [OP60扫码2名称], [OP60扫码2], [OP60扫码3名称], [OP60扫码3], [OP60扫码4名称], [OP60扫码4], [OP409V开电压], [OP409V关电压],[打印模板名称],[OP70扫码1名称], [OP70扫码1],[OP80扫码1名称], [OP80扫码1], [row]) VALUES('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}','{12}','{13}','{14}','{15}','{16}','{17}','{18}','{19}','{20}','{21}','{22}','{23}','{24}','{25}','{26}','{27}','{28}','{29}','{30}','{31}','{32}','{33}','{34}','{35}','{36}','{37}','{38}','{39}','{40}','{41}','{42}','{43}','{44}','{45}','{46}','{47}','{48}','{49}','{50}','{51}','{52}','{53}','{54}','{55}','{56}','{57}','{58}','{59}','{60}','{61}','{62}','{63}','{64}','{65}','{66}','{67}','{68}','{69}','{70}','{71}','{72}','{73}','{74}','{75}','{76}','{77}','{78}','{79}','{80}','{81}','{82}','{83}','{84}','{85}','{86}','{87}','{88}','{89}')";
                    sql = string.Format(sql, DateTime.Now, textBox1.Text, comboBox2.SelectedIndex, richTextBox1.Text, richTextBox2.Text, richTextBox3.Text, richTextBox5.Text, richTextBox7.Text, richTextBox4.Text, richTextBox54.Text, richTextBox55.Text, richTextBox6.Text, richTextBox11.Text, richTextBox12.Text, richTextBox10.Text, richTextBox14.Text, richTextBox16.Text, richTextBox13.Text, richTextBox17.Text, richTextBox18.Text, richTextBox15.Text, richTextBox20.Text, richTextBox21.Text, richTextBox19.Text, richTextBox23.Text, richTextBox24.Text, richTextBox22.Text, richTextBox25.Text, richTextBox29.Text, richTextBox34.Text, textBox2.Text, textBox3.Text, textBox4.Text, textBox5.Text, textBox6.Text, richTextBox32.Text, textBox7.Text, richTextBox40.Text, textBox8.Text, richTextBox41.Text, textBox9.Text, richTextBox42.Text, textBox10.Text, richTextBox9.Text, textBox11.Text, richTextBox43.Text, textBox12.Text, richTextBox44.Text, textBox13.Text, richTextBox45.Text, textBox14.Text, richTextBox46.Text, textBox15.Text, richTextBox47.Text, textBox16.Text, richTextBox48.Text, textBox17.Text, richTextBox49.Text, textBox18.Text, richTextBox26.Text, textBox19.Text, richTextBox33.Text, textBox20.Text, richTextBox35.Text, textBox21.Text, richTextBox50.Text, textBox22.Text, richTextBox27.Text, textBox23.Text, richTextBox51.Text, textBox24.Text, richTextBox52.Text, textBox25.Text, richTextBox53.Text, textBox26.Text, richTextBox8.Text, textBox27.Text, richTextBox36.Text, textBox28.Text, richTextBox56.Text, textBox29.Text, richTextBox57.Text, richTextBox37.Text, richTextBox39.Text, comboBox4.Text, textBox30.Text, richTextBox31.Text, textBox31.Text, richTextBox30.Text, row + 1);
                                                                                                                                                                                                                     //OP30螺钉数1            OP30螺钉数2
                    int num = SQLHelp.AddData(sql);
                    if (num == 1)
                    {
                        sr.Add(textBox1.Text);
                        comboBox1.Items.Add(textBox1.Text);
                        MessageBox.Show("型号添加成功", "提示！");
                        
                    }
                    else
                    {
                        MessageBox.Show("型号添加失败", "提示！");
                    }
                }
                else
                {
                    MessageBox.Show("型号重复，请重新添加", "提示！");
                }

            }
            else
            {
                MessageBox.Show("没有操作权限", "提示！");
            }
        }
        //添加系列
        private void button2_Click(object sender, EventArgs e)
        {
            //权限验证
            PermissionCheck.PernChk(Program.userlogin);
            if (Program.userlogin.UserID == 2 || Program.userlogin.UserID == 1)
            {
                //判断系列是否重复
                if (comboBox2.Items.Contains(richTextBox38.Text) == false)
                {
                    //数据写入
                    string sql = "insert into productXiLie([产品系列总]) values('{0}')";
                    sql = string.Format(sql, richTextBox38.Text);
                    int num = SQLHelp.AddData(sql);
                    if (num == 1)
                    {
                        comboBox2.Items.Add(richTextBox38.Text);
                        MessageBox.Show("系列添加成功", "提示！");
                    }
                    else
                    {
                        MessageBox.Show("系列添加失败", "提示！");
                    }
                }
                else
                {
                    MessageBox.Show("系列重复，请重新添加", "提示！");
                }

            }
            else
            {
                MessageBox.Show("没有操作权限", "提示！");
            }
        }
        //保存设置
        private void butsave_Click(object sender, EventArgs e)
        {
            //权限验证
            PermissionCheck.PernChk(Program.userlogin);
            if (Program.userlogin.UserID == 2 || Program.userlogin.UserID == 1)
            {
                //数据写入
                //string sql = "update parameterSetting set  saveDate='{0}', [产品系列号]='{1}', [OP10螺钉数1]='{2}', [OP10螺钉数2]='{3}', [OP10节拍]='{4}', [OP20螺钉数1]='{5}', [OP20螺钉数2]='{6}', [OP20节拍]='{7}', [OP30节拍]='{8}', [OP40螺钉数1]='{9}', [OP40螺钉数2]='{10}', [OP40节拍]='{11}', [OP50螺钉数1]='{12}', [OP50螺钉数2]='{13}', [OP50节拍]='{14}', [OP60螺钉数1]='{15}', [OP60螺钉数2]='{16}', [OP60节拍]='{17}', [OP70螺钉数1]='{18}', [OP70螺钉数2]='{19}', [OP70节拍]='{20}', [OP80螺钉数1]='{21}', [OP80螺钉数2]='{22}', [OP80节拍]='{23}', [OP90节拍]='{24}', [OP110节拍]='{25}', [OP130节拍]='{26}',[零件号]='{27}',[版本号]='{28}',[AI代码号]='{29}',[产线班次号]='{30}',[OP10扫码1名称]='{31}', [OP10扫码1]='{32}', [OP10扫码2名称]='{33}', [OP10扫码2]='{34}', [OP10扫码3名称]='{35}', [OP10扫码3]='{36}', [OP10扫码4名称]='{37}', [OP10扫码4]='{38}', [OP20扫码1名称]='{39}', [OP20扫码1]='{40}', [OP20扫码2名称]='{41}', [OP20扫码2]='{42}', [OP20扫码3名称]='{43}', [OP20扫码3]='{44}', [OP20扫码4名称]='{45}', [OP20扫码4]='{46}', [OP30扫码1名称]='{47}', [OP30扫码1]='{48}', [OP30扫码2名称]='{49}', [OP30扫码2]='{50}', [OP30扫码3名称]='{51}', [OP30扫码3]='{52}', [OP30扫码4名称]='{53}', [OP30扫码4]='{54}', [OP40扫码1名称]='{55}', [OP40扫码1]='{56}', [OP40扫码2名称]='{57}', [OP40扫码2]='{58}', [OP40扫码3名称]='{59}', [OP40扫码3]='{60}', [OP40扫码4名称]='{61}', [OP40扫码4]='{62}', [OP50扫码1名称]='{63}', [OP50扫码1]='{64}', [OP50扫码2名称]='{65}', [OP50扫码2]='{66}', [OP50扫码3名称]='{67}', [OP50扫码3]='{68}', [OP50扫码4名称]='{69}', [OP50扫码4]='{70}', [OP60扫码1名称]='{71}', [OP60扫码1]='{72}', [OP60扫码2名称]='{73}', [OP60扫码2]='{74}', [OP60扫码3名称]='{75}', [OP60扫码3]='{76}', [OP60扫码4名称]='{77}', [OP60扫码4]='{78}', [OP409V开电压]='{79}', [OP409V关电压]='{80}', [打印模板名称]='{81}',[OP70扫码1名称]='{82}', [OP70扫码1]='{83}',[OP80扫码1名称]='{84}', [OP80扫码1]='{85}' where typeName='{86}'";
                string sql = "update parameterSetting set  saveDate='{0}', [产品系列号]='{1}', [OP10螺钉数1]='{2}', [OP10螺钉数2]='{3}', [OP10节拍]='{4}', [OP20螺钉数1]='{5}', [OP20螺钉数2]='{6}', [OP20节拍]='{7}', [OP30节拍]='{8}', [OP40螺钉数1]='{9}', [OP40螺钉数2]='{10}', [OP40节拍]='{11}', [OP50螺钉数1]='{12}', [OP50螺钉数2]='{13}', [OP50节拍]='{14}', [OP60螺钉数1]='{15}', [OP60螺钉数2]='{16}', [OP60节拍]='{17}', [OP70螺钉数1]='{18}', [OP70螺钉数2]='{19}', [OP70节拍]='{20}', [OP80螺钉数1]='{21}', [OP80螺钉数2]='{22}', [OP80节拍]='{23}', [OP90节拍]='{24}', [OP110节拍]='{25}', [OP130节拍]='{26}',[零件号]='{27}',[版本号]='{28}',[AI代码号]='{29}',[产线班次号]='{30}',[OP10扫码1名称]='{31}', [OP10扫码1]='{32}', [OP10扫码2名称]='{33}', [OP10扫码2]='{34}', [OP10扫码3名称]='{35}', [OP10扫码3]='{36}', [OP10扫码4名称]='{37}', [OP10扫码4]='{38}', [OP20扫码1名称]='{39}', [OP20扫码1]='{40}', [OP20扫码2名称]='{41}', [OP20扫码2]='{42}', [OP20扫码3名称]='{43}', [OP20扫码3]='{44}', [OP20扫码4名称]='{45}', [OP20扫码4]='{46}', [OP30扫码1名称]='{47}', [OP30扫码1]='{48}', [OP30扫码2名称]='{49}', [OP30扫码2]='{50}', [OP30扫码3名称]='{51}', [OP30扫码3]='{52}', [OP30扫码4名称]='{53}', [OP30扫码4]='{54}', [OP40扫码1名称]='{55}', [OP40扫码1]='{56}', [OP40扫码2名称]='{57}', [OP40扫码2]='{58}', [OP40扫码3名称]='{59}', [OP40扫码3]='{60}', [OP40扫码4名称]='{61}', [OP40扫码4]='{62}', [OP50扫码1名称]='{63}', [OP50扫码1]='{64}', [OP50扫码2名称]='{65}', [OP50扫码2]='{66}', [OP50扫码3名称]='{67}', [OP50扫码3]='{68}', [OP50扫码4名称]='{69}', [OP50扫码4]='{70}', [OP60扫码1名称]='{71}', [OP60扫码1]='{72}', [OP60扫码2名称]='{73}', [OP60扫码2]='{74}', [OP60扫码3名称]='{75}', [OP60扫码3]='{76}', [OP60扫码4名称]='{77}', [OP60扫码4]='{78}', [OP409V开电压]='{79}', [OP409V关电压]='{80}', [打印模板名称]='{81}',[OP70扫码1名称]='{82}', [OP70扫码1]='{83}',[OP80扫码1名称]='{84}', [OP80扫码1]='{85}', [OP30螺钉数1]='{86}', [OP30螺钉数2]='{87}' where typeName='{88}'";
                sql = string.Format(sql, DateTime.Now, comboBox2.SelectedIndex, richTextBox1.Text, richTextBox2.Text, richTextBox3.Text, richTextBox5.Text, richTextBox7.Text, richTextBox4.Text, richTextBox6.Text, richTextBox11.Text, richTextBox12.Text, richTextBox10.Text, richTextBox14.Text, richTextBox16.Text, richTextBox13.Text, richTextBox17.Text, richTextBox18.Text, richTextBox15.Text, richTextBox20.Text, richTextBox21.Text, richTextBox19.Text, richTextBox23.Text, richTextBox24.Text, richTextBox22.Text, richTextBox25.Text, richTextBox29.Text, richTextBox34.Text, textBox2.Text, textBox3.Text, textBox4.Text, textBox5.Text, textBox6.Text, richTextBox32.Text, textBox7.Text, richTextBox40.Text, textBox8.Text, richTextBox41.Text, textBox9.Text, richTextBox42.Text, textBox10.Text, richTextBox9.Text, textBox11.Text, richTextBox43.Text, textBox12.Text, richTextBox44.Text, textBox13.Text, richTextBox45.Text, textBox14.Text, richTextBox46.Text, textBox15.Text, richTextBox47.Text, textBox16.Text, richTextBox48.Text, textBox17.Text, richTextBox49.Text, textBox18.Text, richTextBox26.Text, textBox19.Text, richTextBox33.Text, textBox20.Text, richTextBox35.Text, textBox21.Text, richTextBox50.Text, textBox22.Text, richTextBox27.Text, textBox23.Text, richTextBox51.Text, textBox24.Text, richTextBox52.Text, textBox25.Text, richTextBox53.Text, textBox26.Text, richTextBox8.Text, textBox27.Text, richTextBox36.Text, textBox28.Text, richTextBox56.Text, textBox29.Text, richTextBox57.Text, richTextBox37.Text, richTextBox39.Text, comboBox4.Text, textBox30.Text, richTextBox31.Text, textBox31.Text, richTextBox30.Text, richTextBox54.Text, richTextBox55.Text, comboBox1.Text);
                int num = SQLHelp.AddData(sql);
                if (num == 1)
                {
                    MessageBox.Show("设置保存成功", "提示！");
                }
                else
                {
                    MessageBox.Show("设置保存失败", "提示！");
                }
            }
            else
            {
                MessageBox.Show("没有操作权限", "提示！");
            }
        }
        //显示选择的型号参数
        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            string sql = "select [saveDate], [产品系列号], [OP10螺钉数1], [OP10螺钉数2], [OP10节拍],[OP20螺钉数1], [OP20螺钉数2], [OP20节拍],[OP30螺钉数1], [OP30螺钉数2], [OP30节拍], [OP40螺钉数1], [OP40螺钉数2], [OP40节拍],[OP50螺钉数1], [OP50螺钉数2], [OP50节拍], [OP60螺钉数1], [OP60螺钉数2], [OP60节拍],[OP70螺钉数1], [OP70螺钉数2], [OP70节拍],[OP80螺钉数1], [OP80螺钉数2], [OP80节拍],[OP90正压程序号], [OP90负压程序号], [OP90节拍], [OP110节拍], [OP130节拍], [零件号],[版本号],[AI代码号],[产线班次号],[OP10扫码1名称], [OP10扫码1], [OP10扫码2名称], [OP10扫码2], [OP10扫码3名称], [OP10扫码3], [OP10扫码4名称], [OP10扫码4], [OP20扫码1名称], [OP20扫码1], [OP20扫码2名称], [OP20扫码2], [OP20扫码3名称], [OP20扫码3], [OP20扫码4名称], [OP20扫码4], [OP30扫码1名称], [OP30扫码1], [OP30扫码2名称], [OP30扫码2], [OP30扫码3名称], [OP30扫码3], [OP30扫码4名称], [OP30扫码4], [OP40扫码1名称], [OP40扫码1], [OP40扫码2名称], [OP40扫码2], [OP40扫码3名称], [OP40扫码3], [OP40扫码4名称], [OP40扫码4], [OP50扫码1名称], [OP50扫码1], [OP50扫码2名称], [OP50扫码2], [OP50扫码3名称], [OP50扫码3], [OP50扫码4名称], [OP50扫码4], [OP60扫码1名称], [OP60扫码1], [OP60扫码2名称], [OP60扫码2], [OP60扫码3名称], [OP60扫码3], [OP60扫码4名称], [OP60扫码4],[OP409V开电压], [OP409V关电压], [打印模板名称],[OP70扫码1名称], [OP70扫码1],[OP80扫码1名称], [OP80扫码1] from parameterSetting where typeName = '{0}'";
            sql = string.Format(sql, comboBox1.Text);
            SqlDataReader objReader = SQLHelp.GetReader(sql);
            while (objReader.Read())
            {
                comboBox2.SelectedIndex = Convert.ToInt32(objReader["产品系列号"]);
                richTextBox1.Text = objReader["OP10螺钉数1"].ToString();
                richTextBox2.Text = objReader["OP10螺钉数2"].ToString();
                richTextBox3.Text = objReader["OP10节拍"].ToString();
                richTextBox5.Text = objReader["OP20螺钉数1"].ToString();
                richTextBox7.Text = objReader["OP20螺钉数2"].ToString();
                richTextBox4.Text = objReader["OP20节拍"].ToString();
                richTextBox6.Text = objReader["OP30节拍"].ToString();
                richTextBox54.Text = objReader["OP30螺钉数1"].ToString();  //添加两行螺钉数，（OP30无法被下发螺钉数，还未解决。）
                richTextBox55.Text = objReader["OP30螺钉数2"].ToString();  //添加两行螺钉数，（OP30无法被下发螺钉数，还未解决。）
                richTextBox11.Text = objReader["OP40螺钉数1"].ToString();
                richTextBox12.Text = objReader["OP40螺钉数2"].ToString();
                richTextBox10.Text = objReader["OP40节拍"].ToString();
                richTextBox14.Text = objReader["OP50螺钉数1"].ToString();
                richTextBox16.Text = objReader["OP50螺钉数2"].ToString();
                richTextBox13.Text = objReader["OP50节拍"].ToString();
                richTextBox17.Text = objReader["OP60螺钉数1"].ToString();
                richTextBox18.Text = objReader["OP60螺钉数2"].ToString();
                richTextBox15.Text = objReader["OP60节拍"].ToString();
                richTextBox20.Text = objReader["OP70螺钉数1"].ToString();
                richTextBox21.Text = objReader["OP70螺钉数2"].ToString();
                richTextBox19.Text = objReader["OP70节拍"].ToString();
                richTextBox23.Text = objReader["OP80螺钉数1"].ToString();
                richTextBox24.Text = objReader["OP80螺钉数2"].ToString();
                richTextBox22.Text = objReader["OP80节拍"].ToString();
                richTextBox25.Text = objReader["OP90节拍"].ToString();
                richTextBox29.Text = objReader["OP110节拍"].ToString();
                richTextBox34.Text = objReader["OP130节拍"].ToString();
                textBox2.Text = objReader["零件号"].ToString();
                textBox3.Text = objReader["版本号"].ToString();
                textBox4.Text = objReader["AI代码号"].ToString();
                textBox5.Text = objReader["产线班次号"].ToString();

                textBox6.Text = objReader["OP10扫码1名称"].ToString();
                richTextBox32.Text = objReader["OP10扫码1"].ToString();
                textBox7.Text = objReader["OP10扫码2名称"].ToString();
                richTextBox40.Text = objReader["OP10扫码2"].ToString();
                textBox8.Text = objReader["OP10扫码3名称"].ToString();
                richTextBox41.Text = objReader["OP10扫码3"].ToString();
                textBox9.Text = objReader["OP10扫码4名称"].ToString();
                richTextBox42.Text = objReader["OP10扫码4"].ToString();

                textBox10.Text = objReader["OP20扫码1名称"].ToString();
                richTextBox9.Text = objReader["OP20扫码1"].ToString();
                textBox11.Text = objReader["OP20扫码2名称"].ToString();
                richTextBox43.Text = objReader["OP20扫码2"].ToString();
                textBox12.Text = objReader["OP20扫码3名称"].ToString();
                richTextBox44.Text = objReader["OP20扫码3"].ToString();
                textBox13.Text = objReader["OP20扫码4名称"].ToString();
                richTextBox45.Text = objReader["OP20扫码4"].ToString();

                textBox14.Text = objReader["OP30扫码1名称"].ToString();
                richTextBox46.Text = objReader["OP30扫码1"].ToString();
                textBox15.Text = objReader["OP30扫码2名称"].ToString();
                richTextBox47.Text = objReader["OP30扫码2"].ToString();
                textBox16.Text = objReader["OP30扫码3名称"].ToString();
                richTextBox48.Text = objReader["OP30扫码3"].ToString();
                textBox17.Text = objReader["OP30扫码4名称"].ToString();
                richTextBox49.Text = objReader["OP30扫码4"].ToString();

                textBox18.Text = objReader["OP40扫码1名称"].ToString();
                richTextBox26.Text = objReader["OP40扫码1"].ToString();
                textBox19.Text = objReader["OP40扫码2名称"].ToString();
                richTextBox33.Text = objReader["OP40扫码2"].ToString();
                textBox20.Text = objReader["OP40扫码3名称"].ToString();
                richTextBox35.Text = objReader["OP40扫码3"].ToString();
                textBox21.Text = objReader["OP40扫码4名称"].ToString();
                richTextBox50.Text = objReader["OP40扫码4"].ToString();

                textBox22.Text = objReader["OP50扫码1名称"].ToString();
                richTextBox27.Text = objReader["OP50扫码1"].ToString();
                textBox23.Text = objReader["OP50扫码2名称"].ToString();
                richTextBox51.Text = objReader["OP50扫码2"].ToString();
                textBox24.Text = objReader["OP50扫码3名称"].ToString();
                richTextBox52.Text = objReader["OP50扫码3"].ToString();
                textBox25.Text = objReader["OP50扫码4名称"].ToString();
                richTextBox53.Text = objReader["OP50扫码4"].ToString();

                textBox26.Text = objReader["OP60扫码1名称"].ToString();
                richTextBox8.Text = objReader["OP60扫码1"].ToString();
                textBox27.Text = objReader["OP60扫码2名称"].ToString();
                richTextBox36.Text = objReader["OP60扫码2"].ToString();
                textBox28.Text = objReader["OP60扫码3名称"].ToString();
                richTextBox56.Text = objReader["OP60扫码3"].ToString();
                textBox29.Text = objReader["OP60扫码4名称"].ToString();
                richTextBox57.Text = objReader["OP60扫码4"].ToString();
                textBox30.Text = objReader["OP70扫码1名称"].ToString();
                richTextBox31.Text = objReader["OP70扫码1"].ToString();
                textBox31.Text = objReader["OP80扫码1名称"].ToString();
                richTextBox30.Text = objReader["OP80扫码1"].ToString();
                richTextBox37.Text = objReader["OP409V开电压"].ToString();
                richTextBox39.Text = objReader["OP409V关电压"].ToString();

                comboBox4.Text = objReader["打印模板名称"].ToString();

            }
            objReader.Close();
        }
        //删除型号
        private void button3_Click(object sender, EventArgs e)
        {
            string temp3 = "是否确认删除型号{0}，此操作不可恢复！";
            temp3 = string.Format(temp3, comboBox3.Text);
            MessageBox.Show(temp3);
            string sql = "delete from [parameterSetting] where typeName = '{0}'";
            sql = string.Format(sql, comboBox3.Text);
            int rnum = SQLHelp.AddData(sql);
            if (rnum > 0)
            {
                MessageBox.Show("删除型号成功！");
            }
            else
            {
                MessageBox.Show("删除型号失败！");
            }
            
        }
        
        public void GetFileNames(ref List<string> FileNames)
        {
            bool status = false;
            string ext = ".lab";
            //连接共享目录
            status = Read_And_Write_RemoteSharedFile.connectState(@"\\172.16.100.101\print", "OP100", "123456");
            if (status)
            {
                //共享文件夹的目录
                DirectoryInfo theFolder = new DirectoryInfo(@"\\172.16.100.101\print\");
                foreach (FileInfo file in theFolder.GetFiles())
                {
                    if (file.Extension.ToUpper() == ext.ToUpper())
                    {
                        FileNames.Add(file.FullName.Substring(file.FullName.LastIndexOf("\\") + 1, file.FullName.Length - 1 - file.FullName.LastIndexOf("\\")));

                    }
                }
                ////执行方法
                //Read_And_Write_RemoteSharedFile.TransportLocalToRemote(@"D:\readme12.ini", filename, "publish.ini");  //实现将本地文件写入到远程服务器
                ///*Read_And_Write_RemoteSharedFile.TransportRemoteToLocal(@"D:\readme12.txt", filename, "publish.txt");*/    //实现将远程服务器文件写入到本地
            }
            else
            {
                MessageBox.Show("打印文件读取失败！");
            }
            //MessageBox.Show("打印文件读取成功！");
        }

        class Read_And_Write_RemoteSharedFile
        {
            public static bool connectState(string path)
            {
                return connectState(path, "", "");
            }
            /// <summary>
            /// 连接远程共享文件夹
            /// </summary>
            /// <param name="path">远程共享文件夹的路径</param>
            /// <param name="userName">用户名</param>
            /// <param name="passWord">密码</param>
            /// <returns></returns>
            public static bool connectState(string path, string userName, string passWord)
            {
                bool Flag = false;
                Process proc = new Process();//提供对本地和远程进程的访问权限并使你能够启动和停止本地系统进程
                try
                {
                    proc.StartInfo.FileName = "cmd.exe";
                    proc.StartInfo.UseShellExecute = false;
                    proc.StartInfo.RedirectStandardInput = true;
                    proc.StartInfo.RedirectStandardOutput = true;
                    proc.StartInfo.RedirectStandardError = true;
                    proc.StartInfo.CreateNoWindow = true;
                    proc.Start();
                    string dosLine = "net use " + path + " " + passWord + " /user:" + userName;
                    proc.StandardInput.WriteLine(dosLine);
                    proc.StandardInput.WriteLine("exit");
                    while (!proc.HasExited)
                    {
                        proc.WaitForExit(1000);
                    }
                    string errormsg = proc.StandardError.ReadToEnd();
                    proc.StandardError.Close();
                    if (string.IsNullOrEmpty(errormsg))
                    {
                        Flag = true;
                    }
                    else
                    {
                        throw new Exception(errormsg);
                    }
                }
                catch (Exception ex)
                {
                    throw ex;
                }
                finally
                {
                    proc.Close();
                    proc.Dispose();
                }
                return Flag;
            }

            /// <summary>
            /// 从远程服务器下载文件到本地
            /// </summary>
            /// <param name="src">下载到本地后的文件路径，包含文件的扩展名</param>
            /// <param name="dst">远程服务器路径（共享文件夹路径）</param>
            /// <param name="fileName">远程服务器（共享文件夹）中的文件名称，包含扩展名</param>
            public static void TransportRemoteToLocal(string src, string dst, string fileName)  //src：下载到本地后的文件路径     dst：远程服务器路径    fileName:远程服务器dst路径下的文件名
            {
                if (!Directory.Exists(dst))
                {
                    Directory.CreateDirectory(dst);
                }
                dst = dst + fileName;
                FileStream inFileStream = new FileStream(dst, FileMode.Open);    //远程服务器文件  此处假定远程服务器共享文件夹下确实包含本文件，否则程序报错

                FileStream outFileStream = new FileStream(src, FileMode.OpenOrCreate);   //从远程服务器下载到本地的文件

                byte[] buf = new byte[inFileStream.Length];

                int byteCount;

                while ((byteCount = inFileStream.Read(buf, 0, buf.Length)) > 0)
                {

                    outFileStream.Write(buf, 0, byteCount);

                }

                inFileStream.Flush();

                inFileStream.Close();

                outFileStream.Flush();

                outFileStream.Close();

            }

            /// <summary>
            /// 将本地文件上传到远程服务器共享目录
            /// </summary>
            /// <param name="src">本地文件的绝对路径，包含扩展名</param>
            /// <param name="dst">远程服务器共享文件路径，不包含文件扩展名</param>
            /// <param name="fileName">上传到远程服务器后的文件扩展名</param>
            public static void TransportLocalToRemote(string src, string dst, string fileName)    //src
            {
                FileStream inFileStream = new FileStream(src, FileMode.Open);    //此处假定本地文件存在，不然程序会报错   

                if (!Directory.Exists(dst))        //判断上传到的远程服务器路径是否存在
                {
                    Directory.CreateDirectory(dst);
                }
                dst = dst + fileName;             //上传到远程服务器共享文件夹后文件的绝对路径

                FileStream outFileStream = new FileStream(dst, FileMode.Create);

                byte[] buf = new byte[inFileStream.Length];

                int byteCount;

                while ((byteCount = inFileStream.Read(buf, 0, buf.Length)) > 0)
                {

                    outFileStream.Write(buf, 0, byteCount);

                }

                inFileStream.Flush();

                inFileStream.Close();

                outFileStream.Flush();

                outFileStream.Close();
            }
        }
        //当有添加型号的趋势时，查询出row（行数）便于记录
        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            
            string sql1 = "SELECT TOP 1 [row] FROM parameterSetting order by row desc";
            SqlDataReader objReader1 = SQLHelp.GetReader(sql1);
            while (objReader1.Read())
            {
                row = Convert.ToInt32(objReader1["row"]);
            }
            objReader1.Close();
        }
    }
}
